package com.yanqu.road.entity.activity.flowerstudy.data;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.DataStatus;
import com.yanqu.road.entity.FieldTypeAnnotation;

import java.util.Map;

@FieldTypeAnnotation(tableName = "t_u_flower_study_activity_user",desc = "花城书房活动用户数据")
public class FlowerStudyUserData extends DataObject {
    @FieldTypeAnnotation(desc = "活动id",select = true,update = true)
    private int activityId;
    @FieldTypeAnnotation(desc = "玩家id",select = true,update = true)
    private long userId;
    //-----------------------------名人来访-----------------
    @FieldTypeAnnotation(desc = "名人来访id")
    private int visitManId;
    @FieldTypeAnnotation(desc = "名人来访刷新后操作次数")
    private int visitManOpCount;
    @FieldTypeAnnotation(desc = "名人来访上次刷新时间")
    private long visitManRefreshTime;
    //-----------------------------诗书问答-----------------

    @FieldTypeAnnotation(desc = "当日诗书问答卷子选择记录")
    private Map<Integer,Integer> poemRecord;
    @FieldTypeAnnotation(desc = "当日诗书问答卷子开启时间 过0点要刷新")
    private long poemRefreshTime;
    @FieldTypeAnnotation(desc = "当日诗书问答完成次数")
    private int poemTodayFinishCount;
    @FieldTypeAnnotation(desc = "诗书问答当前卷子是否提交 0否1是")
    private int poemIsSubmitted;

    //---------------分享
    @FieldTypeAnnotation(desc = "分享奖励领取状态,0否1是")
    private int hasShare;


    public int getActivityId() {
        return activityId;
    }
    public void setActivityId(int activityId) {
        if (this.activityId != activityId) {
            this.activityId = activityId;
            setOp(DataStatus.Update);
        }
    }

    public long getUserId() {
        return userId;
    }
    public void setUserId(long userId) {
        if (this.userId != userId) {
            this.userId = userId;
            setOp(DataStatus.Update);
        }
    }

    public int getVisitManId() {
        return visitManId;
    }
    public void setVisitManId(int visitManId) {
        if (this.visitManId != visitManId) {
            this.visitManId = visitManId;
            setOp(DataStatus.Update);
        }
    }

    public int getVisitManOpCount() {
        return visitManOpCount;
    }
    public void setVisitManOpCount(int visitManOpCount) {
        if (this.visitManOpCount != visitManOpCount) {
            this.visitManOpCount = visitManOpCount;
            setOp(DataStatus.Update);
        }
    }

    public long getVisitManRefreshTime() {
        return visitManRefreshTime;
    }
    public void setVisitManRefreshTime(long visitManRefreshTime) {
        if (this.visitManRefreshTime != visitManRefreshTime) {
            this.visitManRefreshTime = visitManRefreshTime;
            setOp(DataStatus.Update);
        }
    }

    public java.util.Map<java.lang.Integer, java.lang.Integer> getPoemRecord() {
        return poemRecord;
    }
    public void setPoemRecord(java.util.Map<java.lang.Integer, java.lang.Integer> poemRecord) {
        if (null == poemRecord){
            return;
        }
        if (this.poemRecord == null || !this.poemRecord.equals(poemRecord)) {
            this.poemRecord = poemRecord;
            setOp(DataStatus.Update);
        }
    }

    public long getPoemRefreshTime() {
        return poemRefreshTime;
    }
    public void setPoemRefreshTime(long poemRefreshTime) {
        if (this.poemRefreshTime != poemRefreshTime) {
            this.poemRefreshTime = poemRefreshTime;
            setOp(DataStatus.Update);
        }
    }

    public int getPoemTodayFinishCount() {
        return poemTodayFinishCount;
    }
    public void setPoemTodayFinishCount(int poemTodayFinishCount) {
        if (this.poemTodayFinishCount != poemTodayFinishCount) {
            this.poemTodayFinishCount = poemTodayFinishCount;
            setOp(DataStatus.Update);
        }
    }

    public int getPoemIsSubmitted() {
        return poemIsSubmitted;
    }
    public void setPoemIsSubmitted(int poemIsSubmitted) {
        if (this.poemIsSubmitted != poemIsSubmitted) {
            this.poemIsSubmitted = poemIsSubmitted;
            setOp(DataStatus.Update);
        }
    }

    public int getHasShare() {
        return hasShare;
    }

    public void setHasShare(int hasShare) {
        if (this.hasShare != hasShare) {
            this.hasShare = hasShare;
            setOp(DataStatus.Update);
        }
    }


}
